import { message, Button } from 'antd';
/**
 * WebStorage 方法
 * 　setItem (key, value) ——  保存数据，以键值对的方式储存信息。

         getItem (key) ——  获取数据，将键值传入，即可获取到对应的value值。

          removeItem (key) ——  删除单个数据，根据键值移除对应的信息。

          clear () ——  删除所有的数据

          key (index) —— 获取某个索引的key
 */


//用户是否登录校验
const checkLogin = () => {

    const userId = localStorage.getItem('trueName') || sessionStorage.getItem('trueName')
    if (userId == null || userId == undefined) {
        console.log('false')
        return false;
    }
    else {
        console.log('true')
        return true;
    }
    // console.log(userId, 'userId')
}
const checkAdmin = () => {
    const userId = localStorage.getItem('trueName') || sessionStorage.getItem('trueName')
    const userType = sessionStorage.getItem('type')
    if (userId == null || userId == undefined || userType != 0) {

        return false;

    }
    else {
        console.log('true')
        return true;
    }
}
/**
 * 0：admin ，1：coach ，2：user
 * @param {用户信息对象} userInfo 
 */
const saveUserInfoByType = (userInfo) => {
    //管理员教练存放在sessionstorage：一次会话便销毁，没有登录记录

    if (userInfo.type === 0) {
        console.log('管理员')
        localStorage.clear()
        Object.keys(userInfo).forEach((key) => {
            sessionStorage.setItem(key, userInfo[key])
        })
    }
    if (userInfo.type === 1) {
        console.log('管理员')
        localStorage.clear()
        Object.keys(userInfo).forEach((key) => {
            sessionStorage.setItem(key, userInfo[key])
        })
    }
    //用户信息存放在localStoreage : 浏览器关闭信息失效
    if (userInfo.type === 2) {
        sessionStorage.clear()
        Object.keys(userInfo).forEach((key) => {
            localStorage.setItem(key, userInfo[key])
        })

    }
    loginSuccess(userInfo.trueName)
}

//登录失败方法
const loginFail = () => {

    message.error({
        content: '用户名或密码错误',

    });
}
const loginSuccess = (trueName) => {
    message.success({
        content: `欢迎您，${trueName}`,
    });
}
//登出 外部调用时会报is not a function
const logout = () => {
    //清除WebStorage中存储的信息
    localStorage.clear()
    sessionStorage.claer()
}

export { checkLogin, saveUserInfoByType, loginFail, logout, checkAdmin }